#include <iostream>
using namespace std;

/*
	模板类成员函数写在类的外面
*/

template<typename T>
class Test  //模板类 
{
public:
	Test()
	{
		cout<<"构造函数调用，申请堆空间"<<endl;
		p=new T[10]; //p=new 类型[10]
	}
	~Test()
	{
		cout<<"析构函数调用，释放堆空间"<<endl;
		delete []p;
	}
	void show();

private:
	T *p; //万能类型的指针
};

template<typename T> //模板声明必须写，无论是否用到，都要写
void Test<T>::show() //类名<T>
{
	int i;
	for(i=0; i<10; i++)
		cout<<p[i]<<endl;
}

int main()
{
	
}